package test.demo;
/**
 * 里氏替换原则示例二(优化前)
 * */
public class LiskovNew {
    public static void main(String[] args) {
        ANew a = new ANew();
        System.out.println("1-8=" + a.func1(1, 8));
        System.out.println("-----------------------");
        BNew b = new BNew();
        System.out.println("11+3+9=" + b.func2(11, 3));
    }
}
// A类
class ANew {
    // 返回两个数的差
    public int func1(int num1, int num2) { return num1 - num2; }
}
// B类继承了A
// 增加了一个新功能：完成两个数相加,然后和9求和
class BNew extends ANew {
    // 子类在不重写父类的情况下，可以有自己的个性化功能
    public int func2(int a, int b) { return func1(a, b) + 9; }
}